Page: Instructor Feed
Code: IFED Route: /community/[instructor] Access: Authenticated Priority: P1 Status: In Scope
Purpose
Exclusive feed for current and former students of an instructor, showing posts across all of that instructor's courses and enabling deeper community engagement.
Connections
Incoming (users arrive from)
| Source | Trigger | Notes |
| CPRO | "View Feed" link | From creator profile |
| SDSH | Instructor feed link | Dashboard quick access |
| NOTF | Notification about instructor post | Direct to feed |
| CDET | "Instructor Feed" link | From course detail |
Outgoing (users navigate to)
| Target | Trigger | Notes |
| CPRO | Instructor name/avatar click | View instructor profile |
| CDET | Course mention click | View course |
| PROF | Other student name click | View their profile |
| FEED | "Main Feed" nav | Return to main community feed |
Data Requirements
| Entity | Fields Used | Purpose |
| users (instructor) | id, name, avatar, handle | Instructor info |
| instructor_followers | instructor_id, follower_id | Access control |
| posts | id, author_id, course_id, content, created_at | Feed content |
| courses | id, title (where creator_id = instructor) | Course context |
| post_interactions | post_id, type, count | Engagement |
| promoted_posts | post_id, points_spent | Promoted content |
Sections
Header
- • Instructor avatar + name
- • "@[handle]'s Feed"
- • Follower count (students in this feed)
- • "Back to Profile" → CPRO
Feed Content
- • Posts from:
- • Each post shows:
Post Composer
- • Only visible to authorized users
- • Text input
- • Course selector: "Post to [Course] or General"
- • "Promote to Main Feed" option:
- • Post button
Sidebar (Desktop)
- • **Instructor Info:**
- • **Course Filter:**
- • **Active Students:**
- • **Promote Feature:**
User Stories Fulfilled
- • US-S070: Access instructor-specific feed
- • US-C037: Creator has dedicated feed for students
- • US-C038: Creator posts reach their students
- • US-P084: Track instructor followers for feed access
- • US-P085: Support post promotion with points
States & Variations
| State | Description |
| Active | Posts flowing from instructor and students |
| Quiet | Few posts, "Be the first to post" prompt |
| Filtered | Viewing posts from specific course |
| Promoting | User is promoting a post |
| No Access | Not enrolled, "Enroll to access" |
Mobile Considerations
- • Feed is main view
- • Sidebar becomes tabs or bottom sheet
- • Instructor header is collapsible
- • Promote option in post composer
Error Handling
| Error | Display |
| No access | "Enroll in one of [Name]'s courses to access this feed." |
| Post fails | "Unable to post. Try again." |
| Promote fails | "Unable to promote. Try again." |
| Load fails | "Unable to load feed. [Retry]" |
Analytics Events
| Event | Trigger | Data |
`page_view` | Page load | instructor_id |
`post_created` | Post submitted | instructor_id, course_id |
`post_promoted` | Promoted to main feed | post_id, points_spent |
`post_liked` | Like clicked | post_id |
`course_filtered` | Filter applied | course_id |
Notes
- • CD-024: Instructor feed access granted on first enrollment
- • Access persists indefinitely (perpetual community access)
- • Promotion uses goodwill points (Block 2+ feature)
- • Consider notification settings for instructor feed
- • Uses Stream.io `instructor` feed group
- • Token permissions scoped to specific instructor feed
- • Course filtering via Stream activity metadata